/* 深色/浅色模式切换的文字颜色自适应 */

/* 基本文本颜色 */
[data-theme="light"] {
    --text-color: #2c3e50;
    --text-secondary: #495057;
    --text-muted: #6c757d;
    --link-color: #3498db;
    --link-hover: #2980b9;
    --heading-color: #2c3e50;
    --border-color: rgba(0,0,0,0.1);
    --card-bg: #ffffff;
    --bg-color: #f8f9fa;
    --input-bg: #ffffff;
    --input-color: #2c3e50;
    --table-bg: #ffffff;
    --table-color: #212529;
    --code-bg: #f8f9fa;
    --code-color: #e83e8c;
    --blockquote-color: #6c757d;
    --alert-border: rgba(0,0,0,0.1);
    --icon-color: #495057;
    --navbar-dark-color: #f8f9fa;
    --navbar-light-color: #2c3e50;
    --shadow-color: rgba(0,0,0,0.1);
    --badge-text: #ffffff;
    --alert-text: #2c3e50;
}

[data-theme="dark"] {
    --text-color: #e0e0e0;
    --text-secondary: #cccccc;
    --text-muted: #adb5bd;
    --link-color: #61dafb;
    --link-hover: #4fc3f7;
    --heading-color: #f8f9fa;
    --border-color: rgba(255,255,255,0.1);
    --card-bg: #343a40;
    --bg-color: #212529;
    --input-bg: #2c3e50;
    --input-color: #f0f0f0;
    --table-bg: #343a40;
    --table-color: #e0e0e0;
    --code-bg: #2d3748;
    --code-color: #f06595;
    --blockquote-color: #adb5bd;
    --alert-border: rgba(255,255,255,0.1);
    --icon-color: #adb5bd;
    --navbar-dark-color: #f8f9fa;
    --navbar-light-color: #f8f9fa;
    --shadow-color: rgba(0,0,0,0.3);
    --badge-text: #ffffff;
    --alert-text: #f8f9fa;
}

/* 通用文本元素 */
body {
    color: var(--text-color);
    background-color: var(--bg-color);
}

h1, h2, h3, h4, h5, h6 {
    color: var(--heading-color);
}

p, span, div, li {
    color: var(--text-color);
}

a:not(.btn):not(.nav-link) {
    color: var(--link-color);
}

a:not(.btn):not(.nav-link):hover {
    color: var(--link-hover);
}

.text-muted {
    color: var(--text-muted) !important;
}

/* 卡片和表单 */
.card {
    background-color: var(--card-bg);
    border-color: var(--border-color);
    box-shadow: 0 2px 5px var(--shadow-color);
}

.card-header {
    color: var(--heading-color);
    border-bottom-color: var(--border-color);
}

.card-body {
    color: var(--text-color);
}

.card-text {
    color: var(--text-color);
}

.card-title {
    color: var(--heading-color);
}

.form-control, .form-select {
    background-color: var(--input-bg);
    color: var(--input-color);
    border-color: var(--border-color);
}

.form-control:focus, .form-select:focus {
    background-color: var(--input-bg);
    color: var(--input-color);
    border-color: var(--link-color);
}

.form-label {
    color: var(--text-color);
}

.form-text {
    color: var(--text-muted);
}

/* 表格 */
.table {
    color: var(--table-color);
}

.table td, .table th {
    border-color: var(--border-color);
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(0, 0, 0, 0.05);
}

[data-theme="dark"] .table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.05);
}

/* 列表组 */
.list-group-item {
    background-color: var(--card-bg);
    color: var(--text-color);
    border-color: var(--border-color);
}

.list-group-item-action:hover, .list-group-item-action:focus {
    background-color: var(--bg-color);
    color: var(--text-color);
}

.list-group-item.active {
    background-color: var(--link-color);
    border-color: var(--link-color);
    color: #ffffff;
}

/* 导航和标签 */
.nav-tabs .nav-link {
    color: var(--text-color);
}

.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
    color: var(--text-color);
    background-color: var(--card-bg);
    border-color: var(--border-color) var(--border-color) var(--card-bg);
}

/* 按钮 */
.btn {
    border-color: transparent;
}

/* 下拉菜单 */
.dropdown-menu {
    background-color: var(--card-bg);
    border-color: var(--border-color);
    box-shadow: 0 2px 5px var(--shadow-color);
}

.dropdown-item {
    color: var(--text-color);
}

.dropdown-item:hover, .dropdown-item:focus {
    color: var(--text-color);
    background-color: rgba(0, 0, 0, 0.05);
}

[data-theme="dark"] .dropdown-item:hover, [data-theme="dark"] .dropdown-item:focus {
    background-color: rgba(255, 255, 255, 0.05);
}

.dropdown-divider {
    border-top-color: var(--border-color);
}

/* 模态框 */
.modal-content {
    background-color: var(--card-bg);
    color: var(--text-color);
    border-color: var(--border-color);
}

.modal-header {
    border-bottom-color: var(--border-color);
}

.modal-footer {
    border-top-color: var(--border-color);
}

.modal-body {
    color: var(--text-color);
}

/* 按钮文字颜色 */
.btn-primary {
    color: #ffffff;
}

.btn-secondary {
    color: #ffffff;
}

.btn-outline-primary {
    color: var(--link-color);
    border-color: var(--link-color);
}

.btn-outline-primary:hover {
    color: #ffffff;
    background-color: var(--link-color);
}

.btn-outline-secondary {
    color: var(--text-secondary);
    border-color: var(--text-secondary);
}

.btn-outline-secondary:hover {
    color: #ffffff;
    background-color: var(--text-secondary);
}

.btn-light {
    background-color: var(--bg-color);
    color: var(--text-color);
}

.btn-dark {
    color: var(--navbar-dark-color);
}

/* 代码块 */
code {
    background-color: var(--code-bg);
    color: var(--code-color);
}

pre {
    background-color: var(--code-bg);
    color: var(--text-color);
    border-color: var(--border-color);
}

/* 引用 */
blockquote {
    color: var(--blockquote-color);
    border-left-color: var(--border-color);
}

/* 提示框 */
.alert {
    border-color: var(--alert-border);
    color: var(--alert-text);
}

.alert-info {
    background-color: rgba(52, 152, 219, 0.1);
}

.alert-warning {
    background-color: rgba(243, 156, 18, 0.1);
}

.alert-danger {
    background-color: rgba(231, 76, 60, 0.1);
}

.alert-success {
    background-color: rgba(46, 204, 113, 0.1);
}

/* 切换按钮样式 */
.nav-tabs .nav-link {
    color: var(--text-muted);
}

.nav-tabs .nav-link.active {
    color: var(--text-color);
    background-color: var(--card-bg);
    border-color: var(--border-color) var(--border-color) var(--card-bg);
}

/* 专用组件 */
.ink-card {
    background-color: var(--card-bg);
    color: var(--text-color);
}

.ink-header {
    color: var(--heading-color);
}

/* 图标颜色 */
.fas, .far, .fab, .fa {
    color: var(--icon-color);
}

/* 徽章 */
.badge {
    color: var(--badge-text);
}

/* 图书和帖子 */
.book-card .card-title a {
    color: var(--heading-color);
}

.post-card .card-title a {
    color: var(--heading-color);
}

/* 评论区内容 */
.comment-content {
    color: var(--text-color);
}

/* 自定义 toast 提示框 */
.toast {
    background-color: var(--card-bg);
    border-color: var(--border-color);
}

.toast-header {
    color: var(--text-color);
    background-color: var(--card-bg);
    border-color: var(--border-color);
}

.toast-body {
    color: var(--text-color);
}

/* 页脚 */
.footer {
    background-color: var(--card-bg);
    color: var(--text-color);
    border-top: 1px solid var(--border-color);
}

/* 导航栏 */
[data-theme="light"] .navbar-dark .navbar-nav .nav-link {
    color: var(--navbar-dark-color);
}

[data-theme="light"] .navbar-light .navbar-nav .nav-link {
    color: var(--navbar-light-color);
}

/* 分页 */
.pagination .page-link {
    background-color: var(--card-bg);
    border-color: var(--border-color);
    color: var(--text-color);
}

.pagination .page-item.active .page-link {
    background-color: var(--link-color);
    border-color: var(--link-color);
    color: #ffffff;
}

.pagination .page-item.disabled .page-link {
    color: var(--text-muted);
    background-color: var(--card-bg);
    border-color: var(--border-color);
}

/* 头像与封面 */
.user-avatar, .user-avatar-lg, .user-avatar-small, .default-avatar, .default-avatar-small {
    border: 2px solid var(--border-color);
}

/* 搜索框和输入组 */
.input-group-text {
    background-color: var(--card-bg);
    border-color: var(--border-color);
    color: var(--text-color);
}

/* 全局过渡效果 */
body, a, .btn, .card, .nav-link, .dropdown-item, input, textarea, select, .form-control, .modal-content {
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
} 